<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>蔡然发 - Java开发工程师简历</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .card-shadow {
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }
        .hover-scale {
            transition: transform 0.3s ease;
        }
        .hover-scale:hover {
            transform: translateY(-5px);
        }
        .timeline-item::before {
            content: '';
            position: absolute;
            left: -8px;
            top: 8px;
            width: 16px;
            height: 16px;
            background: #667eea;
            border-radius: 50%;
        }
    </style>
</head>
<body class="bg-gray-50">
    <div id="app">
        <!-- 导航栏 -->
        <nav class="bg-white shadow-lg sticky top-0 z-50">
            <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
                <div class="flex justify-between h-16">
                    <div class="flex items-center">
                        <h1 class="text-2xl font-bold text-gray-800">蔡然发 - 简历</h1>
                    </div>
                    <div class="flex items-center space-x-8">
                        <a v-for="item in navItems" :key="item.id" 
                           :href="'#' + item.id"
                           class="text-gray-700 hover:text-blue-600 transition duration-300">
                           {{ item.name }}
                        </a>
                    </div>
                </div>
            </div>
        </nav>

        <!-- 头部区域 -->
        <header class="gradient-bg text-white py-20">
            <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
                <div class="w-32 h-32 rounded-full mx-auto mb-4 border-4 border-white bg-gradient-to-br from-blue-400 to-purple-600 flex items-center justify-center text-white text-4xl font-bold">
                    蔡
                </div>
                <h1 class="text-4xl font-bold mb-2">蔡然发</h1>
                <p class="text-xl mb-4">Java开发工程师</p>
                <div class="flex justify-center space-x-6 text-sm">
                    <span><i class="fas fa-map-marker-alt mr-2"></i>深圳市龙岗</span>
                    <span><i class="fas fa-envelope mr-2"></i>2857357874@qq.com</span>
                    <span><i class="fas fa-phone mr-2"></i>13066187521</span>
                </div>
            </div>
        </header>

        <!-- 主要内容区域 -->
        <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
            <!-- 个人信息 -->
            <section id="personal" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-user-circle mr-3 text-blue-600"></i>个人信息
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                        <div>
                            <h3 class="font-semibold text-gray-700 mb-2">基本信息</h3>
                            <p><strong>姓名：</strong>{{ personalInfo.name }}</p>
                            <p><strong>性别：</strong>{{ personalInfo.gender }}</p>
                            <p><strong>年龄：</strong>{{ personalInfo.age }}</p>
                            <p><strong>学历：</strong>{{ personalInfo.education }}</p>
                        </div>
                        <div>
                            <h3 class="font-semibold text-gray-700 mb-2">联系方式</h3>
                            <p><strong>电话：</strong>{{ personalInfo.phone }}</p>
                            <p><strong>微信：</strong>{{ personalInfo.wechat }}</p>
                            <p><strong>邮箱：</strong>{{ personalInfo.email }}</p>
                            <p><strong>现住址：</strong>{{ personalInfo.address }}</p>
                        </div>
                    </div>
                </div>
            </section>

            <!-- 求职意向 -->
            <section id="job-intention" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-bullseye mr-3 text-green-600"></i>求职意向
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                        <div v-for="(value, key) in jobIntention" :key="key">
                            <strong class="text-gray-700">{{ key }}：</strong>
                            <span class="text-gray-600">{{ value }}</span>
                        </div>
                    </div>
                </div>
            </section>

            <!-- 工作经历 -->
            <section id="experience" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-briefcase mr-3 text-purple-600"></i>工作经历
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <div class="relative pl-4 border-l-2 border-blue-200">
                        <div v-for="exp in experience" :key="exp.company" class="mb-6 relative timeline-item">
                            <div class="bg-blue-50 p-4 rounded-lg">
                                <h3 class="font-bold text-lg text-gray-800">{{ exp.company }}</h3>
                                <p class="text-gray-600">{{ exp.period }} | {{ exp.position }}</p>
                                <ul class="mt-3 space-y-2">
                                    <li v-for="duty in exp.duties" :key="duty" class="text-gray-700 flex items-start">
                                        <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i>
                                        {{ duty }}
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </section>

            <!-- 个人技能 -->
            <section id="skills" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-cogs mr-3 text-orange-600"></i>个人技能
                </h2>
                <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                    <div v-for="(skill, index) in skills" :key="index" 
                         class="bg-white rounded-lg card-shadow p-6 hover-scale">
                        <div class="flex items-center mb-3">
                            <i :class="skill.icon" class="text-2xl mr-3" :style="{color: skill.color}"></i>
                            <h3 class="font-bold text-lg">{{ skill.category }}</h3>
                        </div>
                        <p class="text-gray-700">{{ skill.description }}</p>
                    </div>
                </div>
            </section>

            <!-- 项目经验 -->
            <section id="projects" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-project-diagram mr-3 text-red-600"></i>项目经验
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <h3 class="text-2xl font-bold mb-4">{{ project.name }}</h3>
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
                        <div><strong>项目架构：</strong>{{ project.architecture }}</div>
                        <div><strong>开发周期：</strong>{{ project.duration }}</div>
                    </div>
                    
                    <div class="mb-6">
                        <h4 class="font-bold mb-3">项目描述：</h4>
                        <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
                            <div v-for="(desc, index) in project.descriptions" :key="index" 
                                 class="bg-gray-50 p-3 rounded">
                                {{ desc }}
                            </div>
                        </div>
                    </div>

                    <div>
                        <h4 class="font-bold mb-3">责任描述：</h4>
                        <div class="space-y-2">
                            <div v-for="(resp, index) in project.responsibilities" :key="index" 
                                 class="bg-blue-50 p-3 rounded">
                                <strong>{{ resp.title }}：</strong>{{ resp.description }}
                            </div>
                        </div>
                    </div>
                </div>
            </section>

            <!-- 教育背景 -->
            <section id="education" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-graduation-cap mr-3 text-indigo-600"></i>教育背景
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <div class="flex items-center">
                        <i class="fas fa-university text-2xl text-blue-600 mr-4"></i>
                        <div>
                            <h3 class="font-bold text-lg">{{ education.school }}</h3>
                            <p class="text-gray-600">{{ education.period }} | {{ education.degree }}</p>
                        </div>
                    </div>
                </div>
            </section>

            <!-- 自我评价 -->
            <section id="self-evaluation" class="mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-star mr-3 text-yellow-600"></i>自我评价
                </h2>
                <div class="bg-white rounded-lg card-shadow p-6 hover-scale">
                    <div class="space-y-4">
                        <div v-for="(eval, index) in selfEvaluation" :key="index" 
                             class="flex items-start">
                            <i class="fas fa-quote-left text-blue-500 mr-3 mt-1"></i>
                            <p class="text-gray-700">{{ eval }}</p>
                        </div>
                    </div>
                </div>
            </section>
        </main>

        <!-- 页脚 -->
        <footer class="bg-gray-800 text-white py-8">
            <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
                <p>&copy; 2024 蔡然发 - Java开发工程师. 保留所有权利.</p>
            </div>
        </footer>
    </div>

    <script>
        const { createApp } = Vue;

        createApp({
            data() {
                return {
                    navItems: [
                        { id: 'personal', name: '个人信息' },
                        { id: 'job-intention', name: '求职意向' },
                        { id: 'experience', name: '工作经历' },
                        { id: 'skills', name: '个人技能' },
                        { id: 'projects', name: '项目经验' },
                        { id: 'education', name: '教育背景' },
                        { id: 'self-evaluation', name: '自我评价' }
                    ],
                    personalInfo: {
                        name: '蔡然发',
                        gender: '男',
                        age: '23',
                        education: '大专',
                        phone: '13066187521',
                        wechat: 'cairanfa',
                        email: '2857357874@qq.com',
                        address: '深圳市龙岗'
                    },
                    jobIntention: {
                        '工作性质': '全职',
                        '目标职位': 'Java开发工程师',
                        '目标地点': '深圳',
                        '目标薪资': '面议',
                        '目前状况': '我目前处于离职状态，可立即上岗'
                    },
                    experience: [
                        {
                            period: '2023.3——2024.12',
                            company: '深圳市富泰华工业有限公司',
                            position: 'Java开发',
                            duties: [
                                '对项目进行软件开发与维护',
                                '参与软件测试，确保代码质量',
                                '配合团队完成项目交付，保证项目进度',
                                '负责软件部分开发与维护工作',
                                '负责部分软件技术对接工作'
                            ]
                        }
                    ],
                    skills: [
                        {
                            category: 'Java核心技术',
                            description: '熟练掌握Java 8+新特性（Lambda表达式、Stream API），理解基本数据类型与引用类型的区别，能熟练使用集合框架（ArrayList、HashMap等）进行数据操作，掌握异常处理机制（Checked/Unchecked Exception）。',
                            icon: 'fab fa-java',
                            color: '#007396'
                        },
                        {
                            category: 'Spring框架',
                            description: '深入理解Spring IoC容器与AOP原理，能配置Bean生命周期（初始化、销毁），掌握事务管理（@Transactional）和Spring MVC请求',
                            icon: 'fas fa-leaf',
                            color: '#6DB33F'
                        },
                        {
                            category: '数据库技术',
                            description: '熟练使用JDBC进行CRUD操作，掌握MySQL索引优化（B+树结构、最左前缀原则），了解事务隔离级别（读未提交、读已提交、可重复读、串行化）及其应用场景。',
                            icon: 'fas fa-database',
                            color: '#4479A1'
                        },
                        {
                            category: '并发编程',
                            description: '理解线程创建方式（继承Thread/实现Runnable），掌握synchronized和ReentrantLock锁机制，熟悉线程池配置（核心线程数、队列容量），能处理死锁问题。',
                            icon: 'fas fa-sync-alt',
                            color: '#FF6B6B'
                        },
                        {
                            category: '网络编程',
                            description: '熟悉TCP/IP协议栈，掌握Socket编程原理，能使用HttpClient发送HTTP请求，理解RESTful API设计规范，了解NIO非阻塞模型基础。',
                            icon: 'fas fa-network-wired',
                            color: '#4ECDC4'
                        },
                        {
                            category: '日志与版本控制',
                            description: '掌握Slf4j日志门面与Logback实现，能配置日志级别,实现日志追踪，了解异步日志处理。了解Git分支管理策略（Git Flow），能解决合并冲突。',
                            icon: 'fas fa-code-branch',
                            color: '#F05032'
                        }
                    ],
                    project: {
                        name: '医疗康养平台系统',
                        architecture: 'SpringBoot + Spring（MyBatis-Plus）+ MySQL',
                        duration: '6个月',
                        descriptions: [
                            '首页：平台核心信息展示与快速操作入口',
                            '来访管理：针对预约信息管理',
                            '入退管理：康养人员入住、退住的全流程管控',
                            '在住管理：在住人员的日常信息维护、状态跟踪',
                            '服务管理：康养服务的分类、调度、质量跟踪等管理',
                            '智能监测：依托技术手段对康养人员健康、环境等进行智能监测与预警',
                            '系统管理：平台基础配置、用户权限、数据字典等系统级管理',
                            '系统监控：平台运行状态的实时监控',
                            '系统工具：辅助平台运营的工具类功能',
                            '测试菜单：用于系统测试、功能验证的临时模块'
                        ],
                        responsibilities: [
                            {
                                title: '护理项目',
                                description: '聚焦于护理服务的项目维度管理，涉及项目分类、服务内容配置、资源分配等操作，是护理服务落地的基础配置入口。'
                            },
                            {
                                title: '护理计划',
                                description: '关注护理服务的计划性管理，用于制定个性化护理方案，支持计划制定、执行跟踪与效果评估。'
                            },
                            {
                                title: '护理等级',
                                description: '用于划分护理服务的等级标准，帮助精准匹配服务资源与用户需求，实现服务分层管理。'
                            },
                            {
                                title: '负责老人',
                                description: '关联老人-护理人员的对应关系管理，涉及老人信息建档、护理责任分配、服务进度跟踪等功能。'
                            },
                            {
                                title: '任务安排',
                                description: '聚焦任务调度与执行，用于安排护理人员的日常工作，支持任务分配、进度跟进、异常预警等操作。'
                            }
                        ]
                    },
                    education: {
                        school: '茂名职业技术学院',
                        period: '2021.9-2024.7',
                        degree: '大专'
                    },
                    selfEvaluation: [
                        '本人内敛稳重，综合能力较强，做事有始有终，有责任心，有较强的组织协调能力',
                        '认真服从上级的安排，自律性强，积极配合上级开展管理工作',
                        '能处理好各部署之间的关系，积极提高部门的工作效率，减少工作失误，精益求精',
                        '上进心强、勤于学习能不断提高自身的能力与综合素质。在未来的工作中，我将以充沛的精力，刻苦钻研的精神来努力工作，稳定地提高自己的工作能力，与企业同步发展。'
                    ]
                }
            },
            mounted() {
                // 平滑滚动
                document.querySelectorAll('a[href^="#"]').forEach(anchor => {
                    anchor.addEventListener('click', function (e) {
                        e.preventDefault();
                        const target = document.querySelector(this.getAttribute('href'));
                        if (target) {
                            target.scrollIntoView({
                                behavior: 'smooth',
                                block: 'start'
                            });
                        }
                    });
                });
            }
        }).mount('#app');
    </script>
    <script src="script.js"></script>
</body>
</html>